#include<stdio.h>
#include<unistd.h>
#include<sys/types.h>

int gval = 0;

int main()
{
    printf("I am a process, pid: %d, ppid: %d\n", getpid(), getppid());

   pid_t id = fork(); // 创建一个子进程
   if(id > 0)
   {
       while(1)
       {
             printf("我是父进程, pid: %d, ppid: %d, ret id: %d, gval: %d\n", getpid(), getppid(), id, gval);
             sleep(1);
       }
   }
   else if(id == 0)
   {
       while(1)
       {
             printf("我是子进程, pid: %d, ppid: %d, ret id: %d, gval: %d\n", getpid(), getppid(), id, gval);
             gval++;
             sleep(1);
       }
   }


   
  // (void)id; // 表示使用了id 这个变量，防止警告/报错
  // printf("I am a 分支！ pid: %d, ppid: %d\n",getpid(), getppid());
  // sleep(1); 
    
    //chdir("/home/zxl");// 改变目录，更改成根目录（不要在当前程序运行时所处的目录）

    //FILE *fp = fopen("log.txt", "w");
    //if(fp == NULL)
    //{
    //    perror("fopen");
    //    return 1;
    //}
   // pid_t id = getpid();
   // pid_t ppid = getppid();
   // while(1)
   // {
   //     printf("hello Linux!, I am a process, pid: %d, ppid: %d\n",id, ppid);
   //     sleep(1);
   // }

}
